@extends('public.base')
@section('body')
    <div class="layui-fluid">
        <div class="layui-card">
            <div class="layui-card-header">
                <div class="layui-breadcrumb" lay-filter="breadcrumb">
                    <a lay-href="">主页</a>
                    <a><cite>自由鸟管理</cite></a>
                    <a><cite>订单管理列表</cite></a>
                </div>
            </div>
            <!-- 搜索区/按钮区 -->
            <div class="layui-form layui-card-header layuiadmin-card-header-auto layui-form-pane">
                <form id="search_form" name="search_form" lay-filter="search-form">
                    <div class="layui-form-item">

                        <div class="layui-inline">
                            <div class="layui-btn-group form_quick_date">
                                <a class="layui-btn layui-btn-primary" data-type="1"
                                   onclick="form_do_set_day(1,null,null)">今天</a>
                                <a class="layui-btn layui-btn-primary" data-type="2"
                                   onclick="form_do_set_day(2,null,null)">昨天</a>
                                <a class="layui-btn layui-btn-primary" data-type="3"
                                   onclick="form_do_set_day(3,null,null)">本周</a>
                                <a class="layui-btn layui-btn-primary" data-type="4"
                                   onclick="form_do_set_day(4,null,null)">上周</a>
                                <a class="layui-btn layui-btn-primary" data-type="5"
                                   onclick="form_do_set_day(5,null,null)">本月</a>
                                <a class="layui-btn layui-btn-primary" data-type="6"
                                   onclick="form_do_set_day(6,null,null)">上月</a>
                            </div>
                        </div>
                        <div class="layui-inline">
                            <label class="layui-form-label layui-hide-md">注册日期</label>
                            <div class="layui-input-inline" style="width:100px;">
                                <input type="text" class="layui-input" id="search_start_date" name="start_date"
                                       autocomplete="off"
                                       format="date" placeholder="注册开始日期">
                            </div>
                            <div class="layui-form-mid">
                                -
                            </div>
                            <div class="layui-input-inline" style="width:100px;">
                                <input type="text" class="layui-input" id="search_end_date" name="end_date"
                                       autocomplete="off"
                                       format="date" placeholder="注册结束日期">
                            </div>
                        </div>
                        <div class="layui-inline">
                            <label class="layui-form-label layui-hide-md">订单号</label>
                            <div class="layui-input-inline">
                                <input type="text" name="order_sn" autocomplete="off" class="layui-input"
                                       placeholder="订单号,如:112345678">
                            </div>
                        </div>

                        <div class="layui-inline">
                            <label class="layui-form-label layui-hide-md">发布者</label>
                            <div class="layui-input-inline">
                                <input type="text" name="username" autocomplete="off" class="layui-input"
                                       placeholder="发布者,如:小小">
                            </div>
                        </div>
                        <div class="layui-inline">
                            <label class="layui-form-label layui-hide-md">手机号</label>
                            <div class="layui-input-inline">
                                <input type="text" name="mobile" autocomplete="off" class="layui-input"
                                       placeholder="发布者,如:小小">
                            </div>
                        </div>

                        <div class="layui-inline">
                            <label class="layui-form-label layui-hide-md">审核状态</label>
                            <div class="layui-input-inline">
                                <select  name="apply_status">
                                    <option value="">全部</option>
                                    <option value="1">拒绝</option>
                                    <option value="-1">通过</option>
                                    <option value="0">待审核</option>
                                </select>
                            </div>
                        </div>


                        <div class="layui-inline">
                            <label class="layui-form-label layui-hide-md">订单状态</label>
                            <div class="layui-input-inline">
                                <select  name="order_status">
                                    <option value="">全部</option>
                                    <option value="10">未支付</option>
                                    <option value="20">已支付</option>
                                    <option value="30">已接单</option>
                                </select>
                            </div>
                        </div>
                        <div class="layui-inline">
                            <button id="search_btn" class="layui-btn layui-btn-normal">搜索
                            </button>

                        </div>

                    </div>
                </form>
            </div>

            <div class="layui-card-body">
                <!-- 表格定义 -->
                <table class="layui-table" id="main_table" lay-filter="main-table-filter"></table>
                <!-- 操作按钮定义 -->
                <script type="text/html" id="search_table-operate-bar">
                    <div class="layui-btn-group">
                        @{{#  if(d.order_status === '0'||d.order_status === '10'){ }}
                          <button class="layui-btn layui-btn-xs layui-btn-primary" lay-event="show">详细</button>
                            @{{#  }else{ }}
                            @{{#  if(d.apply_status === '0'){ }}
                            <button class="layui-btn layui-btn-xs" lay-event="applytrue">通过</button>
                            <button class="layui-btn layui-btn-xs layui-btn-primary" lay-event="show">详细</button>
                            <button class="layui-btn layui-btn-xs layui-btn-danger" lay-event="applyerror">拒绝</button>
                            @{{#  }if(d.apply_status === '1'){ }}
                            <button class="layui-btn layui-btn-xs layui-btn-primary" lay-event="show">详细</button>
                            @{{#  }if(d.apply_status === '-1'){ }}
                            <button class="layui-btn layui-btn-xs layui-btn-primary" lay-event="show">详细</button>
                            @{{#  } }}
                        @{{#  } }}

                    </div>
                </script>
            </div>

        </div>
    </div>
    <!--删，这里是显示帮助说明文，会调用系统菜单中的说明文档 -->
    <div id="page_tip"></div>
    <script src="{{ADMIN_PATH}}layui/layuiadmin/layui/layui.js?{{time()}}"></script>
    <script src="{{ADMIN_PATH}}js/admin.common.js?{{time()}}"></script>
    <script>
        // ==========================  公共变量区  ===========================================

        var index_url = '{{url('admin/freebird/info/index')}}';
        var add_url = '{{url('admin/content/bulletin/add')}}';

        var del_url = '{{url('admin/content/bulletin/del')}}';
        var change_url = '{{url('admin/content/bulletin/change/status')}}';
        var applytrue_url = '{{url('admin/freebird/info/apply/applytrue')}}';
        var applyerror_url = '{{url('admin/freebird/info/apply/applyerror')}}';
        var show_url = '{{url('admin/freebird/info/show')}}';
        //表格id
        var main_table_id = 'main_table';
        //搜索区的表单form id
        var search_form_id = 'search_form';
        //初始化后的表格对象
        var main_table;

        // ==========================  全局函数区  ===========================================

        //默认函数，重载当前页面数据，1、页面初始化 2、配合搜索 3、配合post_data等操作的回调，如：编辑或删除完表格的记录后，刷新当前页面等
        function reload_data(param) {
            //搜索表格
            do_search_table(main_table, search_form_id, param);

        }

        // ==============================  业务处理  ==============================================
        layui.use(['layer', 'laydate', 'table', 'element'], function () {

            //========================================== layui引用区 ==========================================
            var $ = layui.$,
                table = layui.table
                , form = layui.form
                , laydate = layui.laydate
                , element = layui.element
            ;

            // ==============================  业务区  =========================================
            //表格默认排序字段
            var table_sort = 'id';
            var table_order = 'desc';

            main_table = table.render({
                elem: '#' + main_table_id
                , url: index_url //异步数据接口
                , method: 'post' //接口http请求类型
                //, headers: {token: '123456'} //接口的请求头
                , limit: 10 //每页显示的条数
                , limits: 50//	每页条数的选择项
                , initSort: { //初始化时的排序,如果不设的话，将无法标记表头的排序状态
                    field: table_sort
                    , type: table_order
                }
                , where: {sort: table_sort, order: table_order}
                , loading: true //显示加载
                , text:  '查询无数据' //空数据时的异常提示
                , page: true //开启分页
                , cols: [[
                    {title: 'ID', field: 'id', width: 65, sort: true}
                    , {title: '订单号', field: 'order_sn', width: 200}
                    , {title: '发布者', field: 'truename', width: 160, sort: false}
                    //, {title: '内容', field: 'content', width: 200, sort: false}
                    , {title: '发布手机号', field: 'mobile', width: 150, sort: true}
                    , {title: '行业', field: 'class_name', width: 180, sort: true}
                    , {title: '服务方式', field: 'order_type', width: 150, sort: true,  templet: function(d){
                           if(d.order_type==1){
                               return '发布现在';
                           }else if(d.order_type==2){
                               return '发布预约';
                           }else if(d.order_type==3){
                               return '发布1对1';
                           }

                        }}
                    , {title: '服务类型', field: 'is_door', width: 120, sort: true, templet: function(d){
                              if(d.is_door==1){
                                  return "线上服务";
                              }
                              if(d.is_door==2){
                                  return '上门服务';
                              }
                        }}

                    , {title: '接单人', field: 'busername', width: 150, sort: true}
                    , {title: '金额', field: 'amount', width: 150, sort: true}
                    , {title: '数量', field: 'num', width: 80, sort: true}
                    , {title: '单位', field: 'unit', width: 80, sort: true}
                    , {title: '总金额', field: 'all_amount', width:80, sort: true}
                    , {title: '订单状态', field: 'order_status', width:100, sort: true,templet: function (d) {
                                 if(d.order_status=='0'){
                                     return '退款';
                                 }else if(d.order_status=='10'){
                                     return '未支付';
                                 }else if(d.order_status=='20'){
                                     return '已支付';
                                 }else if(d.order_status=='30'){
                                     return '已接单';
                                 }else if(d.order_status=='40'){
                                     return '待完成';
                                 }else if(d.order_status=='50'){
                                     return '已完成';
                                 }

                        }}
                    , {title: '审核状态', field: 'apply_status', width: 150, sort: true , templet: function (d) {
                            if(d.apply_status==1){
                                return '<button class="layui-btn layui-btn-xs" >通过</button>';
                            }else if(d.apply_status==-1){
                                return '<button class="layui-btn layui-btn-xs layui-btn-danger" >已拒绝</button>';
                            }else if(d.apply_status==0){
                                return '<button class="layui-btn layui-btn-xs layui-btn-primary">等待审核</button>';
                            }
                        }}
                    , {title: '创建时间', field: 'create_time', width: 150, sort: true, templet: layui_table_time_tpl_1}
                    , {title: '操作', toolbar: '#search_table-operate-bar', width: 140, align: 'center', fixed: 'right'}
                ]]
                ,
                done: function (res, curr, count) {
                    //如果是异步请求数据方式，res即为你接口返回的信息。
                    if (res.status != 200) {
                        show_error(res.message);
                    }
                    if (count == 0) {
                        layer.msg('暂无相关数据');
                    }
                }
            });


            // ==============================  监听区  =========================================

            // 表格监听
            table.on('sort()', function (obj) { //注：tool是工具条事件名，test是table原始容器的属性 lay-filter="对应的值"
                //console.log(obj.field); //当前排序的字段名
                //console.log(obj.type); //当前排序类型：desc（降序）、asc（升序）、null（空对象，默认排序）
                reload_data({sort: {sort: obj.field, order: obj.type}});
            });

            //表格中的所有的switch监听
            form.on('switch()', function (obj) {
                //当前表格行数据
                var json = JSON.parse(decodeURIComponent($(this).data('json')));

                var name = obj.elem.name;
                var value = obj.elem.checked === true ? 1 : 0;

                var o = {};
                //数据库更新的主键
                o['id'] = json.id;
                //获取当前点击的checkbox的input名称和值
                o[name] = value;

                console.log(o);
                layer.confirm('确定改变当前状态吗?', function (index) {
                    //提交数据，1、提交网址 2、提交数据 3、是否关闭本iframe窗口(在弹出iframe时使用)
                    post_data(change_url, o, ''
                        //正确返回时，执行
                        , function () {
                            //
                        }
                        //错误返回或其它错误时，执行
                        , function () {
                            obj.elem.checked = !obj.elem.checked;
                            //重新渲染
                            form.render();
                        });

                    //关闭自身提示框
                    layer.close(index);
                }, function (index) {
                    //按钮【按钮二】的回调
                    obj.elem.checked = !obj.elem.checked;
                    //重新渲染
                    form.render();
                });

            });

            //其他按钮监听
            $("#search_btn").on('click', function () {
                reload_data();
                return false;
            });

            $("#add_btn").on('click', function () {
                var index = layer.open({
                    type: 2
                    , title: '新增'
                    , content: add_url
                    , area: ['80%', '550px'] //宽高
                    , maxmin: true
                    , scrollbar: false
                    , end: function (index, layero) {
                        //关闭弹窗后的事件
                    }
                });
                return false;
            });

            //监听单元格编辑
            table.on('edit(main-table-filter)', function (obj) {
                var value = obj.value //得到修改后的值
                    , data = obj.data //得到所在行所有键值
                    , field = obj.field; //得到字段
                var o = {};
                o['id'] = data.id;
                o[field] = value;

                layer.confirm('确定修改吗?', function (index) {
                    //提交数据
                    post_data(edit_url, o, ''
                        //正确返回时，执行
                        , function () {
                            reload_data();
                        }
                        //错误返回或其它错误时，执行
                        , function () {
                        });

                    //关闭自身提示框
                    layer.close(index);
                });
            });

            //工具条监听
            table.on('tool(main-table-filter)', function (obj) {
                var data = obj.data;
                //删除事件
                //删除事件
                if (obj.event === 'applyerror') {
                    layer.confirm('确定拒绝吗?', function (index) {
                        //提交数据
                        layer.prompt({title: '请填写拒绝理由，并确认', formType: 2}, function(text, index){
                            //提交数据
                            var o = {id: data.id,'msg':text};
                            post_data(applyerror_url, o, ''
                                //正确返回时，执行
                                , function () {
                                    reload_data();
                                }
                                //错误返回或其它错误时，执行
                                , function () {
                                    layer.msg("操作失败");
                                });

                            layer.close(index);
                        });
                        //关闭自身提示框
                        layer.close(index);
                    });
                }
                else if (obj.event === 'show') {
                    var index = layer.open({
                        type: 2
                        , title: '编辑11:' + data.order_sn
                        , content: show_url + "?id=" + data.id
                        , area: ['80%', '550px'] //宽高
                        , maxmin: true
                        , scrollbar: false
                        , end: function (index, layero) {
                            //关闭弹窗后的事件
                        }
                    });
                }
                //修改事件
                else if (obj.event === 'applytrue') {
                    layer.confirm('确定审核通过吗?', function (index) {
                        //提交数据
                        var o = {id: data.id};
                        post_data(applytrue_url, o, ''
                            //正确返回时，执行
                            , function () {
                                reload_data();
                            }
                            //错误返回或其它错误时，执行
                            , function () {
                                layer.msg("操作失败");
                            });

                        //关闭自身提示框
                        layer.close(index);
                    });
                }
            });

            //监听搜索表单提交
            form.on('submit(search-form)', function (data) {
                return false;
            });

            //========================================== 渲染区 ==========================================
            //表单重新渲染，请保存到最后一行
            //渲染表单
            form.render(null, 'search_form');
            //导航栏渲染
            element.render('breadcrumb', 'breadcrumb');
            //===========================================时间区===========================================================
            var insStart = laydate.render({
                elem: '#search_start_date'
                , type: 'date'
                , format: 'yyyy-MM-dd'
                //, min: 0
                , done: function (value, date) {
                    //更新结束日期的最小日期
                    insEnd.config.min = lay.extend({}, date, {
                        month: date.month - 1
                    });
                    //自动弹出结束日期的选择器
                    insEnd.config.elem[0].focus();
                }
            });

            //结束日期
            var insEnd = laydate.render({
                elem: '#search_end_date'
                , type: 'date'
                , format: 'yyyy-MM-dd'
                //, min: 0
                , done: function (value, date) {
                    //更新开始日期的最大日期
                    insStart.config.max = lay.extend({}, date, {
                        month: date.month - 1
                    });
                }
            });
            form_do_set_day(1, null, null);
        })
        ;
    </script>
@stop